$(function() {

	$('#frm-message-submit').click(function() {
		if ($('#frm-message .mes-text').val() == '') {
			alert('Введите текст сообщения');
			return false;
		}
	});

	$('#frm-notification-submit').click(function() {
		if ($('#frm-notification .mes-text').val() == '') {
			alert('Введите текст оповещения');
			return false;
		} else if (!confirm('Действительно ли вы хотите отправить оповещение пользователю?')) {
			return false;
		}
	});

	$('#frm-order-submit').click(function() {
		var orderText = $('#frm-order .order-text').val();
		if (orderText == '') {
			alert('Введите номер заказа');
			return false;
		} else if (orderText.match(/^\d+$/) == null) {
			alert('Введите число');
			return false;
		} else if (!confirm('Действительно ли вы хотите прикрепить этот заказ?')) {
			return false;
		}
	});

	var selectSearchManualStatus = $('#select-search-manual-request-status');
	var aSearchManualStatus = $('#a-search-manual-request-status');
	var cancelSearchManualStatus = $('#cancel-search-manual-request-status');
	var reasonChangeSearchManualRequestStatus = $('#reason-change-search-manual-request-status');
	var statusControls = $('#status-controls');
	var searchManualRequestManager = $('#search-manual-request-manager');
	var changeSearchManualRequestStatus = $('#change-search-manual-request-status');
	var changeSearchManualRequestStatusForm = $('#change-search-manual-request-status-frm');
	var searchManualRequestStatus = $('#search-manual-request-status');

	aSearchManualStatus.click(function() {
		selectSearchManualStatus.show();
		aSearchManualStatus.hide().siblings('#search-manual-request-status').hide();
		reasonChangeSearchManualRequestStatus.show();
		statusControls.show();
	});

	cancelSearchManualStatus.click(function() {
		selectSearchManualStatus.hide();
		aSearchManualStatus.show().siblings('#search-manual-request-status').show();
		reasonChangeSearchManualRequestStatus.hide();
		statusControls.hide();
	});

	var aPickupSearchManualRequest = $('#a-pickup-search-manual-request');
	var managerId = $('#manager-id').val();
	var managerName = $('#manager-name').val();
	var searchManualRequestId = $('#search-manual-request-id').val();

	aPickupSearchManualRequest.click(function() {
		aPickupSearchManualRequest.after('<span id="loader"><img src="/i/ajax-loader-small.gif" /></span>');
		aPickupSearchManualRequest.hide();
		searchManualRequestManager.hide();

		$.ajax({
			url: '/a_ajax/search/manual/request.changeManager',
			data: {
				id: searchManualRequestId,
				managerid: managerId,
				ispickup: 'true'
			},
			dataType: "json",
			type: 'POST',
			success: function(data) {
				if (data.error == 0) {
					aPickupSearchManualRequest.after('<span>' + managerName + '</span>');
					aPickupSearchManualRequest.remove();
					searchManualRequestManager.remove();
					insertComment(data);
				} else {
					aPickupSearchManualRequest.show();
					searchManualRequestManager.show();
				}
				$('#loader').remove();
			},
			error: function() {
				$('#loader').remove();
				aPickupSearchManualRequest.show();
				searchManualRequestManager.show();
			}
		});
	});

	var managerControls = $('#manager-controls');
	var aChangeManager = $('#a-change-manager');
	var cancelChangeManager = $('#cancel-change-manager');
	var changeManager = $('#change-manager');
	var selectManager = $('#manager');
	var changeStatusReason = $('#reason-change-search-manual-request-status');

	aChangeManager.click(function() {
		selectManager.show();
		aChangeManager.hide().siblings('#search-manual-request-manager').hide();
		managerControls.show();
	});

	cancelChangeManager.click(function() {
		selectManager.hide();
		aChangeManager.show().siblings('#search-manual-request-manager').show();
		managerControls.hide();
	});

	$.managerDefault = $('#manager').val();
	changeManager.click(function() {
		if ($.managerDefault != $('#manager').val()) {
			searchManualRequestManager.before('<div id="loader"><img src="/i/ajax-loader-small.gif" /></div>');
			$.ajax({
				url: '/a_ajax/search/manual/request.changeManager',
				data: {
					id: searchManualRequestId,
					managerid: selectManager.val(),
					ispickup: 'false'
				},
				dataType: "json",
				type: 'POST',
				success: function(data) {
					if (data.error == 0) {
						insertComment(data);
					}
					selectManager.hide();
					$('#loader').remove();
					managerControls.hide();
					$.managerDefault = $('#manager').val();

					searchManualRequestManager.text(selectManager.find('option:selected').text());
					searchManualRequestManager.show();
					aChangeManager.show();
				},
				error: function() {
					$('#loader').remove();
				}
			});
		} else {
			alert('Не выбран новый менеджер.');
		}
	});

	$.changeStatusReasonDefault = changeStatusReason.val();
	changeStatusReason.focus(function() {
		if ($(this).val() == $.changeStatusReasonDefault) {
			$(this).val('');
		}
	});
	changeStatusReason.blur(function() {
		if ($(this).val() == '') {
			$(this).val($.changeStatusReasonDefault);
		}
	});

	$.SearchManualRequestStatusDefault = selectSearchManualStatus.val();
	changeSearchManualRequestStatus.click(function() {
		if ($.SearchManualRequestStatusDefault != selectSearchManualStatus.val()) {
			rs_hideAll();
			changeSearchManualRequestStatusForm.prepend('<div id="loader"><img src="/i/ajax-loader-small.gif" /></div>');
			reasonChangeSearchManualRequestStatusVal = reasonChangeSearchManualRequestStatus.val() != $.changeStatusReasonDefault ? reasonChangeSearchManualRequestStatus.val() : '';
			$.ajax({
				url: '/a_ajax/search/manual/request.changeStatus',
				data: {
					id: $('#request-changestatus-id').val(),
					status: selectSearchManualStatus.val(),
					reason: reasonChangeSearchManualRequestStatusVal
				},
				dataType: "json",
				type: 'POST',
				success: function(data) {
					if (data.error == 0) {
						searchManualRequestStatus.text(selectSearchManualStatus.find('option[value="' + selectSearchManualStatus.val() + '"]').text());
						insertComment(data);
						var managerName = data.name;
						var managerId = data.manager_id;
						if (managerName != '' && managerId != '') {
							searchManualRequestManager.text(managerName);
							selectManager.val(managerId);
							$.managerDefault = $('#manager').val();
						}
					}
					$.SearchManualRequestStatusDefault = selectSearchManualStatus.val();
					$('#loader').remove();
				},
				error: function() {
					$('#loader').remove();
				}
			});
			rs_defShow();
		} else {
			alert('Статус не изменен.');
		}
	});

	var inputFile = $('.vars .input-file');

	if (inputFile.length > 0) {
		inputFile.MultiFile({
			STRING: {
				remove: '<img src="/i/icons/delete.gif" height="19" width="22" alt="x" style="vertical-align:middle;" />',
			    denied:'Тип файлов $ext запрещен!',
				duplicate:'Такой файл уже выбран:\n$file!'
			}
		});
	}

	function insertComment(data) {
		var mesItem = $('#message-item-example').clone(true);
		mesItem.removeAttr('id');
		mesItem.find('.three_cols .left p strong').text(data.name);
		mesItem.find('.three_cols .left p .date').text(data.date);
		mesItem.find('.three_cols .right .mes-type').text(data.type);
		mesItem.find('.three_cols .right .mes-status').text(data.status);
		mesItem.find('.content').html(data.body);
		mesItem.show();
		mesItem.appendTo('#message-items-wrapper');
		$('#message-items-wrapper').scrollTo(mesItem);
	}

	function rs_defShow() {
		selectSearchManualStatus.hide();
		reasonChangeSearchManualRequestStatus.hide();
		statusControls.hide();

		searchManualRequestStatus.show();
		aSearchManualStatus.show();
	}

	function rs_custShow() {
		searchManualRequestStatus.hide();
		aSearchManualStatus.hide();

		selectSearchManualStatus.show();
		reasonChangeSearchManualRequestStatus.show();
		statusControls.show();
	}

	function rs_hideAll() {
		selectSearchManualStatus.hide();
		reasonChangeSearchManualRequestStatus.hide();
		statusControls.hide();
		searchManualRequestStatus.hide();
		aSearchManualStatus.hide();
	}

});